package 力扣.中等;

import java.util.ArrayList;
import java.util.List;

/*有 n 位用户参加活动，他们的 ID 从 0 到 n - 1，每位用户都 恰好 属于某一用户组。给你一个长度为 n 的数组 groupSizes，其中包含每位用户所处的用户组的大小，请你返回用户分组情况（存在的用户组以及每个组中用户的 ID）。

你可以任何顺序返回解决方案，ID 的顺序也不受限制。此外，题目给出的数据保证至少存在一种解决方案。

 

示例 1：

输入：groupSizes = [3,3,3,3,3,1,3]
输出：[[5],[0,1,2],[3,4,6]]
解释：
其他可能的解决方案有 [[2,1,6],[5],[0,4,3]] 和 [[5],[0,6,2],[4,3,1]]。
示例 2：

输入：groupSizes = [2,1,3,3,3,2]
输出：[[1],[0,5],[2,3,4]]
 

*/
public class 用户分组 {
    public static void main(String[] args) {
        int[] groupSiezes = {2,1,3,3,3,2};
        ArrayList<List<Integer>> temp = new ArrayList<>();

        for (int i = 1; i <= 50; i++) {
            ArrayList<Integer> po = new ArrayList();
            for (int j = 0; j < groupSiezes.length; j++) {
                if (groupSiezes[j] == i) {
                    po.add(j);
                }
            }


            if(!(po.size()==0)) {
                int c=po.size();
                for(int t=0;t<(c/i);t++) {
                    List<Integer> cp=new ArrayList<>();
                    for (int n = 0; n < i; n++) {

                        cp.add(po.get(0));
                        po.remove(0);
                    }

                    temp.add(cp);
                }



            }
        }

        for(List<Integer> p:temp){
            System.out.println(p.toString());
        }



    }
}
